package net.minecraft.network.play.server;

import net.minecraft.network.INetHandler;
import net.minecraft.network.Packet;
import net.minecraft.network.PacketBuffer;
import net.minecraft.network.play.INetHandlerPlayClient;

import java.io.IOException;

public class S06PacketUpdateHealth implements Packet {
    private float health;
    private int foodLevel;
    private float saturationLevel;
    // private static final String __OBFID = "CL_00001332";

    public S06PacketUpdateHealth() {
    }

    public S06PacketUpdateHealth(float healthIn, int foodLevelIn, float saturationIn) {
        this.health = healthIn;
        this.foodLevel = foodLevelIn;
        this.saturationLevel = saturationIn;
    }

    /**
     * Reads the raw packet data from the data stream.
     */
    public void readPacketData(PacketBuffer data) throws IOException {
        this.health = data.readFloat();
        this.foodLevel = data.readVarIntFromBuffer();
        this.saturationLevel = data.readFloat();
    }

    /**
     * Writes the raw packet data to the data stream.
     */
    public void writePacketData(PacketBuffer data) throws IOException {
        data.writeFloat(this.health);
        data.writeVarIntToBuffer(this.foodLevel);
        data.writeFloat(this.saturationLevel);
    }

    public void func_180750_a(INetHandlerPlayClient p_180750_1_) {
        p_180750_1_.handleUpdateHealth(this);
    }

    public float getHealth() {
        return this.health;
    }

    public int getFoodLevel() {
        return this.foodLevel;
    }

    public float getSaturationLevel() {
        return this.saturationLevel;
    }

    /**
     * Passes this Packet on to the NetHandler for processing.
     */
    public void processPacket(INetHandler handler) {
        this.func_180750_a((INetHandlerPlayClient) handler);
    }
}
